package com.wopinla.controller;


import com.wopinla.pojo.*;
import com.wopinla.service.ExampleService;
import com.wopinla.utils.JSONResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController                                                         //添加RestController注解
@RequestMapping(path = "/example")                                      //这个是路由，也就是访问以下方法路径前必须带有/example,可以不要，建议加上，这样可以细分路径
@CrossOrigin(allowCredentials = "true", maxAge = 3600)                  //解决跨域,默认添加即可

public class ExampleController {



    @Autowired                                                          //注入exampleService服务
    private ExampleService exampleService;

    @RequestMapping(value = "/sayhello", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public JSONResult find(String username, String password, String id){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
        对于这个查找完整地请求路径是http://127.0.0.1:7747/example/sayhello?username=jack&password=123*/


        Map map = new HashMap();                                        //查询数据库
        map.put("username", username);                                  //查询时，有多少条件就加多少条件
        map.put("password", password);                                  //如果还要限制id，就加map.put("id", id);
        map.put("id",id);

        System.out.println("hahahhahahhaha");


        List<Example> exampleList = exampleService.getExampleByMap(map);

        return JSONResult.ok(exampleList);                                            //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }
    @RequestMapping(value = "/add", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public int addUser(String username, String password,String gender,String identity,String tele,String address,String age,String root){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
        对于这个查找完整地请求路径是http://127.0.0.1:7747/example/sayhello?username=jack&password=123*/

        Map map = new HashMap();                                        //查询数据库
        map.put("username", username);                                  //查询时，有多少条件就加多少条件
        map.put("password", password);
        map.put("gender", gender);
        map.put("identity", identity);
        map.put("tele", tele);
        map.put("address", address);
        map.put("age", age);
        map.put("root", root);//如果还要限制id，就加map.put("id", id);
        return exampleService.addUser(map);                                           //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }
    @RequestMapping(value = "/login", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public int sgin(Integer id, String password,String identity){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
        对于这个查找完整地请求路径是http://127.0.0.1:7747/example/sayhello?username=jack&password=123*/
        System.out.println("controller层");
        Map map = new HashMap();                                        //查询数据库
        map.put("identity", identity);                                  //查询时，有多少条件就加多少条件
        map.put("id", id);
        map.put("password",password);//如果还要限制id，就加map.put("id", id);


        return exampleService.login(map);                                           //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }
    @RequestMapping(value = "/updateUser", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public int updateUser(Integer id, String username, String password,String gender,String identity,String tele,String address,String age){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
        对于这个查找完整地请求路径是http://127.0.0.1:7747/example/sayhello?username=jack&password=123*/
        System.out.println("controller层");
        Map map = new HashMap();                                        //查询数据库
        map.put("id", id);//查询时，有多少条件就加多少条件
        map.put("username", username);                                  //查询时，有多少条件就加多少条件
        map.put("password", password);
        map.put("gender", gender);
        map.put("identity", identity);
        map.put("tele", tele);
        map.put("address", address);
        map.put("age", age);
        return exampleService.updateUser(map);                                           //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }

    @RequestMapping(value = "/delete", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public int deleteUser(String id){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
        对于这个查找完整地请求路径是http://127.0.0.1:7747/example/sayhello?username=jack&password=123*/
        Map map = new HashMap();                                        //查询数据库
        map.put("id", id);                                  //查询时，有多少条件就加多少条件
                                          //如果还要限制id，就加map.put("id", id);

        return exampleService.deleteUser(map);                                           //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }
    @RequestMapping(value = "/userroot", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public JSONResult userroot(Integer id){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
                                //查询时，有多少条件就加多少条件
        //如果还要限制id，就加map.put("id", id)*/
        List<user> userlist=exampleService.userroot(id);


        return JSONResult.ok(userlist);                                          //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }
    @RequestMapping(value = "/selectuser", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public user selectuser(Integer id){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
        对于这个查找完整地请求路径是http://127.0.0.1:7747/example/sayhello?username=jack&password=123*/
        System.out.println("selectuser");
        return exampleService.userById(id);                                          //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }
    @RequestMapping(value = "/unuser", method = RequestMethod.GET)    //访问路由是http://127.0.0.1:7747/example/sayhello
    public JSONResult unuser(){
        /*上面规定需要传俩个参数，username，password，因此get请求时，参数名和username,password对应
                                //查询时，有多少条件就加多少条件
        //如果还要限制id，就加map.put("id", id)*/
        List<user> userlist=exampleService.unuser();


        return JSONResult.ok(userlist);                                          //可以直接把列表返回,返回在前端就是json样式，前端可以直接使用；
    }


}
